/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.losalpes.persistence.entity;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;

/**
 * clase que administra los items de compra
 * @author Henry.Quiroga
 */
@Entity
public class ItemCompra implements Serializable {

    private long id;
    private Mueble mueble;
    private int cantidad;
    private long valorUnitario;
    private long valorTotal;
    private Compra compra;

    /**
     * Obtiene el identificador del item de compra
     * @return
     */
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    public long getId() {
        return id;
    }

    /**
     * Establce el identificador del item de compra
     * @return
     */
    public void setId(long id) {
        this.id = id;
    }

    /**
     * Obtiene el valor total del item
     * @return
     */
    public long getValorTotal() {
        return valorTotal;
    }

    /**
     * Establece el valor total del item
     * @param valorTotal
     */
    public void setValorTotal(long valorTotal) {
        this.valorTotal = valorTotal;
    }

    /**
     * Constructor de la clase
     */
    public ItemCompra() {
    }

    /**
     * Constructor de la clase basado en la cantidad y en el muebl
     */
    public ItemCompra(Mueble mueble, int cantidad) {
        this.mueble = mueble;
        this.cantidad = cantidad;
    }

    /**
     * Obtiene la cantidad relacionada en el item
     * @return
     */
    public int getCantidad() {
        return cantidad;
    }

    /**
     * Establece la cantidad asociada en el item
     * @param cantidad
     */
    public void setCantidad(int cantidad) {
        this.cantidad = cantidad;
    }

    /**
     * Obtiene el mueble asociado al item
     * @return
     */
    @ManyToOne
    public Mueble getMueble() {
        return mueble;
    }

    /**
     * Establece el item asociado al item
     * @param mueble
     */
    public void setMueble(Mueble mueble) {
        this.mueble = mueble;
    }

    /**
     * Obtiene el valor unitario del item
     * @return
     */
    public long getValorUnitario() {
        return valorUnitario;
    }

    /**
     * Establece el valor unitario del item
     * @param valorUnitario
     */
    public void setValorUnitario(long valorUnitario) {
        this.valorUnitario = valorUnitario;
    }

    /**
     * obtiene la compra asociada
     * @param compra
     */
    @ManyToOne
    public Compra getCompra() {
        return compra;
    }

    /**
     * Establece la compra asociada
     * @param compra
     */
    public void setCompra(Compra compra) {
        this.compra = compra;
    }
}
